package config

import (
	"errors"
	viewmodel "go_stu_gin/view_model"

	initconf "go_stu_gin/util/init_conf"

	"github.com/spf13/viper"
)

var MyCtx viewmodel.ConfigContext
var MyConfig viewmodel.InitConfig

func Config(path string) error {
	// 导入配置文件
	viper.SetConfigType("yaml")
	viper.SetConfigFile(path)
	// 读取配置文件
	err := viper.ReadInConfig()
	if err != nil {
		return errors.New("配置文件读取错误," + err.Error())
	}
	err = viper.Unmarshal(&MyConfig)
	if err != nil {
		return errors.New("配置文件绑定参数错误," + err.Error())
	}
	// 初始化配置
	initconf.InitConf(&MyConfig, &MyCtx)
	return nil
}
